#ifndef _SQLITEDATASOURCETEST_H
#define	_SQLITEDATASOURCETEST_H

#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include "genealogy_tree/GenealogyTree.h"
#include "genealogy_tree/Person.h"
#include "genealogy_tree/Photo.h"

namespace etu {

using etu::genealogy_tree::GenealogyTree;
using etu::genealogy_tree::Person;
using etu::genealogy_tree::Photo;

class SqliteDataSourceTest : public CPPUNIT_NS::TestFixture {

    CPPUNIT_TEST_SUITE(SqliteDataSourceTest);
    CPPUNIT_TEST(insertGenealogyTest);
    CPPUNIT_TEST(updateGenealogyTest);
    CPPUNIT_TEST(deleteGenealogyTest);
    CPPUNIT_TEST(insertPhotoTest);
    CPPUNIT_TEST(updatePhotoTest);
    CPPUNIT_TEST(deletePhotoTest);
    CPPUNIT_TEST_SUITE_END();

private:
    std::string treeName;
    GenealogyTree* tree;
    Person* person;
    Photo* photo;

public:
    void setUp();
    void tearDown();

protected:
    void insertGenealogyTest();
    void updateGenealogyTest();
    void deleteGenealogyTest();
    void insertPhotoTest();
    void updatePhotoTest();
    void deletePhotoTest();
};

CPPUNIT_TEST_SUITE_REGISTRATION(SqliteDataSourceTest);

}

#endif	/* _SQLITEDATASOURCETEST_H */

